home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / contsens / Makefile < prev    next >
Makefile  |  1991-02-14  |  6KB  |  215 lines

  1. VERSION = 2.3
  2.  
  3. MYDOTC    =   check.afuncs.c contsens.c errorenv.c \
  4.         mainf.c mainsk.c unification.c size.c
  5. SRCS    =   ${MYDOTC} \
  6.         check.afuncs.h contsens.h errorenv.h \
  7.         unification.h check.ds.h check.var.h\
  8.         size.h \
  9.         testcsfin goodcsfout goodcsferr\
  10.         testskin goodskout goodskerr\
  11.         cpdif\
  12.         kex.ds\
  13.         p2c.h p2clib.c\
  14.         handlefull.ht handlefull.ct fullconf.t\
  15.         handlekex.ht handlekex.ct kexconf.t\
  16.         handcom.h handcom.c
  17.  
  18. OBJS    =   check.afuncs.o contsens.o size.o errorenv.o \
  19.         mainf.o mainsk.o handleds.o unification.o p2clib.o
  20.  
  21. DOC    =   Readme
  22.  
  23. SKELFILES = 
  24.  
  25. MAKEFILE = Makefile
  26.  
  27. JUNK = tmp core makelog skeleton.log skeleton.aux skeleton.dvi \
  28.        testcsfout testcsferr testskout testskerr\
  29.        handlefull.h handlefull.c handlekex.h handlekex.c\
  30.        handleds.h handleds.c
  31.  
  32. DISTFILES = ${SRCS} ${DOC} ${MAKEFILE} ${SKELFILES}
  33.  
  34. #++ make module local start, do NOT touch this line. ++
  35. # Installation dependent make variables for ericv on HERMES 
  36.  
  37. # full path of the ESPRIT environment
  38. ESPRITDIR = /home1/forfun
  39.  
  40. #  BDIR     : bin directory
  41. BDIR = $(ESPRITDIR)/binA
  42.  
  43. #  IDIR     : include directory
  44. IDIR = $(ESPRITDIR)/include
  45.  
  46. #  LDIR     : library directory
  47. LDIR = $(ESPRITDIR)/libA
  48.  
  49.  
  50. NFULLDS = $(ESPRITDIR)/ds/nfullgl.ds
  51. NKERNDS = $(ESPRITDIR)/ds/nkerngl.ds
  52.  
  53. #  HOSTNAME : name of installation machine.
  54. HOSTNAME=hermes
  55.  
  56. # SYS     : name of operating system or machine type
  57. #     BSD    For generic BSD systems
  58. #     AVIION    For generic DG_UX systems
  59. #     HPUX    For all HP-UX systems
  60. #     SUN    For all SUN systems
  61. #     APOLLO    For all Apollo systems
  62. SYS = AVIION
  63.  
  64. # CLIBLOC : required C libraries
  65. CLIBLOC =
  66.  
  67. LINTLIBLOC =
  68.  
  69. PASLIBLOC =
  70.  
  71. # CBADADR : address that will cause a core-dump if read or written.
  72. CBADADR = 0
  73.  
  74. SYSLINTFLAGS = -hpac
  75. SYSCFLAGS = 
  76. SYSCPROFFLAGS =
  77. SYSCDBUGFLAGS =
  78. SYSPFLAGS =
  79. OFLAG= -O
  80. # Collection of host dependent make rules.
  81.  
  82. ### libinstall ###
  83. # MODULE    - module to install
  84. libinstall:
  85.     cp $(MODULE) $(LDIR)/$(MODULE)
  86.  
  87. ### includeinstall ###
  88. # MODULE    - module to install
  89. includeinstall:
  90.     cp $(MODULE) $(IDIR)/$(MODULE)
  91.  
  92. ### maninstall ###
  93. # MAN        - manual page to install
  94. maninstall:
  95.     cp $(MAN) /usr/man/manl
  96.  
  97. ### bininstall ###
  98. # MODULE    - module to install
  99. bininstall:
  100.     cp $(MODULE) $(BDIR)/$(MODULE)
  101.     strip $(BDIR)/$(MODULE)
  102.  
  103. ### arlibinstall ###
  104. # MODULE    - module to install
  105. arlibinstall:
  106.     cp $(MODULE) $(LDIR)/$(MODULE)
  107.  
  108. LINK.c=$(CC) 
  109. #++ make module local end, do NOT touch this line. ++
  110.  
  111. CFLAGS = $(SYSCFLAGS) -I$(IDIR) $(DBUG) -D$(SYS)
  112. help :
  113.     @echo " Possible make targets:"
  114.     @echo "all        Create local running programs."
  115.     @echo "clean        Free disk space."
  116.     @echo "distfiles    List distribution files."
  117.     @echo "install        Install relevant files."
  118.     @echo "setup        Adapt sources to local situation."
  119.     @echo "test        Run tests."
  120. version :
  121.     @echo "version of context-sensitive checks: $(VERSION)"
  122.  
  123. PROGS   = csf sk
  124.  
  125. all:     $(PROGS)
  126.  
  127. # Add rules for the programs themselves here.
  128. #; lint -I$(IDIR) $*.c
  129.  
  130. handlefull.h: handlefull.ht fullconf.t handcom.h
  131.     tm $(NFULLDS) handlefull.ht > handlefull.h
  132. handlefull.c: handlefull.ct fullconf.t  handcom.c
  133.     tm  $(NFULLDS) handlefull.ct > handlefull.c
  134. handlekex.c: kex.ds handlekex.ct kexconf.t  handcom.c
  135.     tm kex.ds handlekex.ct > handlekex.c
  136. handlekex.h: kex.ds handlekex.ht kexconf.t handcom.h
  137.     tm kex.ds handlekex.ht > handlekex.h
  138. handleds.h: trick $(HFK).h
  139.     cpdif $(HFK).h handleds.h
  140. handleds.c: trick $(HFK).c
  141.     cpdif $(HFK).c handleds.c
  142. trick:    
  143.  
  144. handleds.o: handleds.c handleds.h
  145. p2clib.o: p2clib.c
  146. errorenv.o: errorenv.c errorenv.h handleds.h check.ds.h check.var.h
  147. check.afuncs.o: check.afuncs.c check.afuncs.h handleds.h check.ds.h check.var.h
  148. contsens.o: contsens.c contsens.h handleds.h check.ds.h check.var.h\
  149.         check.afuncs.h unification.h errorenv.h
  150. size.o: size.c size.h handleds.h check.ds.h check.var.h\
  151.         check.afuncs.h unification.h errorenv.h
  152. mainf.o: mainf.c handleds.h check.ds.h check.var.h contsens.h
  153. unification.o: unification.c unification.h handleds.h check.ds.h check.var.h\
  154.         check.afuncs.h errorenv.h
  155. mainsk.o: mainsk.c handleds.h check.ds.h check.var.h size.h
  156.  
  157. csf:     trick
  158.     make 'HFK=handlefull' csf1
  159.  
  160. csf1: mainf.o contsens.o unification.o \
  161.        check.afuncs.o errorenv.o handleds.o p2clib.o
  162.     $(LINK.c)  -o csf p2clib.o handleds.o errorenv.o \
  163.     check.afuncs.o unification.o contsens.o mainf.o $(LDIR)/libtmc.a -lm -lc 
  164. sk:    trick
  165.     make 'HFK=handlekex' sk1
  166.  
  167. sk1: mainsk.o size.o unification.o \
  168.      check.afuncs.o errorenv.o handleds.o p2clib.o
  169.     $(LINK.c)  -o sk \
  170.     mainsk.o handleds.o p2clib.o unification.o size.o errorenv.o \
  171.     check.afuncs.o $(LDIR)/libtmc.a -lm -lc
  172.  
  173. testPR: 
  174.     sh -ce '$(PR) < $(TESTIN) > $(TESTOUT) 2> $(TESTERR)'
  175. # in fact dependent on PR. This is not stated because this causes recompilation
  176. # after make all (because of complicated definition of handleds).
  177.  
  178. test:
  179.     make 'PR=csf' 'TESTIN=testcsfin' 'TESTOUT=testcsfout' 'TESTERR=testcsferr' testPR
  180.     diff testcsfout goodcsfout
  181.     diff testcsferr goodcsferr
  182.     make 'PR=sk' 'TESTIN=testskin' 'TESTOUT=testskout' 'TESTERR=testskerr' testPR
  183.     diff testskout goodskout
  184.     diff testskerr goodskerr
  185. #this test only tests if csf/sk work, not if the input they will actually get
  186. #is as used in testcsfin/testskin.
  187.  
  188. install: 
  189.     cp $(PROGS) $(BDIR)
  190. # no check if PROGS up to date, because otherwise double work is done
  191. # (because of different contents of handleds)
  192.  
  193. clean:
  194.     rm -f ${JUNK} ${OBJS} ${PROGS}
  195.  
  196. distfiles:
  197.     @echo $(DISTFILES) | tr ' ' '\012'
  198.  
  199. setup:
  200.     modmake local ../make.local ${MAKEFILE}
  201.  
  202. # Non-standard make rules
  203. ###
  204.  
  205. #For use of the person making a (shar) package:
  206.  
  207. normaltestoutput: 
  208.     make 'PR=csf' 'TESTIN=testcsfin' 'TESTOUT=goodcsfout' 'TESTERR=goodcsferr' testPR
  209.     make 'PR=sk' 'TESTIN=testskin' 'TESTOUT=goodskout' 'TESTERR=goodskerr' testPR
  210.  
  211. sharit: normaltestoutput
  212.     @echo 'now cd .. and shardir this directory'
  213. dolint: 
  214.     lint -I$(IDIR) ${MYDOTC} handleds.c
  215.